{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Draw sample MNIST images from dataset\n",
    "Demonstrates how to sample and plot MNIST digits using `tf.keras` API"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train labels:  {0: 5923, 1: 6742, 2: 5958, 3: 6131, 4: 5842, 5: 5421, 6: 5918, 7: 6265, 8: 5851, 9: 5949}\n",
      "Test labels:  {0: 980, 1: 1135, 2: 1032, 3: 1010, 4: 982, 5: 892, 6: 958, 7: 1028, 8: 974, 9: 1009}\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 360x360 with 25 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from __future__ import absolute_import\n",
    "from __future__ import division\n",
    "from __future__ import print_function\n",
    "\n",
    "import numpy as np\n",
    "from tensorflow.keras.datasets import mnist\n",
    "\n",
    "%matplotlib inline\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "# load dataset\n",
    "(x_train, y_train), (x_test, y_test) = mnist.load_data()\n",
    "\n",
    "# count the number of unique train labels\n",
    "unique, counts = np.unique(y_train, return_counts=True)\n",
    "print(\"Train labels: \", dict(zip(unique, counts)))\n",
    "\n",
    "# count the number of unique test labels\n",
    "unique, counts = np.unique(y_test, return_counts=True)\n",
    "print(\"Test labels: \", dict(zip(unique, counts)))\n",
    "\n",
    "# sample 25 mnist digits from train dataset\n",
    "indexes = np.random.randint(0, x_train.shape[0], size=25)\n",
    "images = x_train[indexes]\n",
    "labels = y_train[indexes]\n",
    "\n",
    "# plot the 25 mnist digits\n",
    "plt.figure(figsize=(5,5))\n",
    "for i in range(len(indexes)):\n",
    "    plt.subplot(5, 5, i + 1)\n",
    "    image = images[i]\n",
    "    plt.imshow(image, cmap='gray')\n",
    "    plt.axis('off')\n",
    "\n",
    "# plt.savefig(\"mnist-samples.png\")\n",
    "plt.show()\n",
    "plt.close('all')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
